package com.jqq.api.utils;

import com.jqq.api.javabean.User;
import org.junit.jupiter.api.Test;

import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 姬倩倩
 * @version 1.0
 * 使用preparedStatement进行t_user表的curd动作
 */
public class PSCURDPart extends BaseDao{
    @Test
    public void testInsert() throws Exception {
        String sql = "insert into t_user(account,password,nickname) values(?,?,?);";
        int rows = executeUpdate(sql, "test333", "test333", "333");
        System.out.println("rows=" + rows);
    }
    @Test
    public void testUpdate() throws Exception {
        /**
         * 修改id=3的用户昵称 nickname = 三狗子
         */

        String sql = "update t_user set nickname = ? where id = ?;";
        int rows = executeUpdate(sql, "newnickname", 3);
        System.out.println("rows=" + rows);

    }
    @Test
    public void testDelete() throws Exception {
    /**
     * 删除id=3的用户昵称 nickname = 三狗子
     */
        String sql = "delete from t_user where id = ?;";
        int rows = executeUpdate(sql, 3);
        System.out.println("rows=" + rows);
    }
    @Test
    public void testSelect() throws Exception {
    /**
     * 查询所有用户数据，并且封装到一个List<Map>的list集合中
     * map(key=列名，value=列的内容)->List<Map>
     * 实现思路：
     *      遍历行数据，一行对应一个map，获取一行的列名和对应的列的属性
     *      将map装到一个List集合中
     */

        //获取连接
        Connection connection = JdbcUtilsV2.getConnection();
        //3.编写SQL语句
        String sql = "select * from t_user;";
        List<User> list = executeQuery(User.class, sql);
        System.out.println("list="+list);
    }
}
